Parametric Fortran - A Program Generator for Customized Generic Fortran Extensions
نویسندگان
چکیده
We describe the design and implementation of a program generator that can produce extensions of Fortran that are specialized to support the programming of particular applications. Extensions are specified through parameter structures that can be referred to in Fortran programs to specify the dependency of program parts on these parameters. By providing parameter values, a parameterized Fortran program can be translated into a regular Fortran program. We describe as a real-world application of this program generator the implementation of a generic inverse ocean modeling tool. The program generator is implemented in Haskell and makes use of sophisticated features, such as multi-parameter type classes, existential types, and generic programming extensions and thus represents the application of an advanced applicative language to a real-world problem.
منابع مشابه
Parametric Fortran: program generation in scientific computing
Parametric Fortran is an extension of Fortran that supports defining Fortran program templates by allowing the parameterization of arbitrary Fortran constructs. A Fortran program template can be translated into a regular Fortran program guided by values for the parameters. This paper describes the design, implementation, and applications of Parametric Fortran. Parametric Fortran is particularly...
متن کاملCode generator for the HPF Library and Fortran 95 transformational functions
One of the language features of the core language of HPF 2.0 is the HPF Library. The HPF Library consists of 55 generic functions. The implementation of this library presents the challenge that all data types, data kinds, array ranks and input distributions need to be supported. For instance, more than 2 billion separate functions are required to support COPY_SCATTER fully. The efficient suppor...
متن کاملRNGSSELIB: Program library for random number generation. More generators, parallel streams of random numbers and Fortran compatibility
RNGSSELIB: Program library for random number generation. More generators, parallel streams of random numbers and Fortran compatibility. Abstract In this update, we present the new version of the random number generator (RNG) library RNGSSELIB, which, in particular, contains fast SSE real-izations of a number of modern and most reliable generators [1]. The new features are: i) Fortran compatibil...
متن کاملPartial Evaluation and Symbolic Computation for the Understanding of Fortran Programs
We describe a technique and a tool supporting partial evaluation of Fortran programs, i.e. their specialization for specific values of their input variables. We aim at understanding old programs, which have become very complex due to numerous extensions. From a given Fortran program and these values of its input variables, the tool provides a simplified program, which behaves like the initial o...
متن کاملCalculation of Absorbed Glandular Dose using a FORTRAN Program Based on Monte Carlo X-ray Spectra in Mammography
Introduction: Average glandular dose calculation in mammography with Mo-Rh target-filter and dose calculation for different situations is accurate and fast. Material and Methods: In this research, first of all, x-ray spectra of a Mo target bombarded by a 28 keV electron beam with and without a Rh filter were calculated using the MCNP code. Then, we used the Sobol-Wu parameters to write a FORTRA...
متن کامل